package com.soo.hoo.admin.service;

import com.soo.hoo.admin.model.entity.SysRolePermission;
import com.soo.hoo.core.service.IService;

import java.util.Collection;
import java.util.List;

/**
 * <p>
 * 角色权限关联服务接口
 * </p>
 *
 * @author 杨燚
 * @since 2023-04-11
 */
public interface RolePermissionService extends IService<SysRolePermission> {

    /**
     * 保存角色与权限的关联信息
     *
     * @param roleId        角色id
     * @param permissionIds 权限id列表
     */
    void saveRelevance(Long roleId, List<Long> permissionIds);

    /**
     * 通过角色id删除关联信息
     *
     * @param roleId 角色id
     */
    void deleteByRoleId(Long roleId);

    /**
     * 根据角色id查询权限id
     *
     * @param roleIds 角色id
     * @return 角色与权限关联信息
     */
    List<SysRolePermission> listByRoleIds(Collection<?> roleIds);
}
